package com.xquant.marketdata.curvestrip.service;


import com.github.pagehelper.PageInfo;
import com.xquant.marketdata.curvestrip.domain.IrCurveSetDTO;
import com.xquant.marketdata.curvestrip.domain.IrCurveStripDTO;
import com.xquant.marketdata.curvestrip.entity.IrCurveDTO;
import com.xquant.system.api.domain.SysUser;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @author ershuai.zhao
 * *
 * @Date: 24/12/2019 11:42
 * *
 * @Description:
 */

public interface IrCurveStripService {

    public static String BEAN_NAME = "irCurveStripService";

    public List<IrCurveSetDTO> queryIrCurveByPage(Map map);

    List<IrCurveSetDTO> queryTirCurveCombox(Map<String, Object> params);

    public PageInfo<Map> queryIrCurveRefSetByPage(Map map);

    public List<IrCurveStripDTO> queryIrCurveRatesByPage(Map map);

    public List<Map> getIrCurveMx(Map map);

    public void updateIrCurve(Map map);

    public void insertIrCurve(Map map);

    public void deleteIrCurve(Map map);

    public void updateIrCurveRefSet(Map map);

    public void updateIrCurveRates(Map map);

    public void insertIrCurveRefSetByDate(Map map);

    public void deleteIrCurveRefSetByDate(Map map);

    public int queryIrCurveRefSetByDate(Map map);

    public void insertIrCurveRefSet(Map map);

    public void insertIrCurveRates(Map map);

    public void deleteIrCurveRefSet(Map map);

    public void deleteIrCurveRates(Map map);

    public void deleteAllIrCurveRefSet(Map map);

    public void filterIrCurveRefSet(Map map);

    public PageInfo<Map> queryFilterIrCurveRefSetByPage(Map map);

    void deleteIrCurveList(HashMap<String, Set<String>> map);

    List<IrCurveDTO> getLastIrCurve(HashMap<String, Set<String>> map, List<IrCurveDTO> list);

    boolean insertIrCurveList(List<IrCurveDTO> list);

    boolean insertIrCurve2(IrCurveDTO form);

    IrCurveSetDTO getByIrcCode(String ircCode);

    void allocateIrCurve(Map<String, Object> param);

    void updateCurveUserAuthority(Map<String, Object> params);

    List<IrCurveSetDTO> checkIrCurve(Map<String, Object> map);
}
